ndarray数组间的运算

ndarray数组间的运算

数组与数的运算

>>> a = np.array([[1, 2, 3], [4, 5, 6]])
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> a + 3
array([[4, 5, 6],
       [7, 8, 9]])
>>> a / 2
array([[0.5, 1. , 1.5],
       [2. , 2.5, 3. ]])
# python中的列表运算
>>> a = [1, 2, 3]
>>> a * 3

数组与数组的运算

数组进行向量化运算时,需要数组的形状相等,形状不等时,就会出现广播机制,该机制会对数组进行扩展,使数组的shape属性值一样。

广播机制

比如对于一个4行1列和一个1行3列的两个数组相加,会进行如下广播机制后,再进行相加

实现广播机制需要满足以下两个条件中的任意一个即可:

广播机制需要扩展维度小的数组,使它与维度最大的数组的shape值相同,以便使用元素级函数或者运算符进行运算